package com.wisecoach.gatewayplus.transaction.lockedtx;

/**
 * {@code @author:} wisecoach
 * {@code @date:} 2023/9/26 上午10:42
 * {@code @version:} 1.0.0
 */
public interface LockSource {
    /**
     * 对一个namespace中的一个key上锁，该步骤会保证线程安全
     * key 链码空间，channelId_contractName
     * value 链码修改的keySet
     * @return 是否成功上锁
     */
    boolean lock(TxRWSet rwSet);

    /**
     * 对一个namespace中的一个key解锁，该步骤会保证线程安全
     * key 链码空间，channelId_contractName
     * value 链码修改的keySet
     */
    void unLock(TxRWSet rwSet);

}
